package com.biz.primus.model.promotion.vo.resp;

import com.biz.primus.base.vo.PromotionBasicInfoVo;
import com.biz.primus.model.promotion.enums.PromotionStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 预售商品返回Vo
 *
 * @author david-liu
 */
@Getter
@ApiModel(value = "预售商品返回vo")
@Setter
public class PresellProductRespVo extends PromotionBasicInfoVo {
    private static final long serialVersionUID = 8826323501447243559L;

    @ApiModelProperty(value = "商品ID")
    private Long productId;

    @ApiModelProperty(value = "商品名称")
    private String productName;

    @ApiModelProperty(value = "预售商品库存")
    private Integer stock;

    @ApiModelProperty(value = "单次预售最多能买多少件商品")
    private Integer limitPurchaseQuantity;

    @ApiModelProperty(value = "商品Logo图")
    private String logo;

    @ApiModelProperty(value = "商品主图(轮播图)")
    private List<String> images;

    @ApiModelProperty(value = "商品详情大图")
    private List<String> introImages;

    @ApiModelProperty(value = "会员价")
    private Integer memberPrice;

    @ApiModelProperty(value = "预售价")
    private Integer presellPrice;

    @ApiModelProperty(value = "预售活动状态")
    private PromotionStatusEnum status;

    @ApiModelProperty(value = "预售商品发货时间")
    private String deliverTime;

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
    }
}
